var $dataInfo = $('#menberCard');

//防止表头与表格不对齐
$(window).resize(function () {
    $dataInfo.bootstrapTable('resetView');
});


$(function () {
    dataInfoInit();

    loadAllCompanyList();
    loadMemberCardName()
});

/**
 * 会员卡列表
 */
/*function dataInfoInit() {
    //先销毁表格
    $dataInfo.bootstrapTable('destroy');
    $dataInfo.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/memberShipCard/selectMemberCardOldList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'memberCardId',
        idField: 'memberCardId',
        pageSize: globalPageSize,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: globalPageList,//可供选择的每页的行数
        fixedColumns: true,     // 冻结列
        fixedNumber: 4,         // 左侧固定列
        // fixedRightNumber: 1,    // 右侧固定列
        queryParams: queryParams,//查询参数
        columns: [
            {title: '主键', field: 'memberCardId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'middle', formatter: indexFormat},
            {title: '会员卡号', field: 'memberCardNumber', align: 'left', valign: 'middle'},
            {title: '所属客户', field: 'customerName', align: 'left', valign: 'middle'},
            {title: '开始时间', field: 'startTm', align: 'left', valign: 'middle',formatter: dateFormat},
            {title: '结束日期', field: 'endTm', align: 'left', valign: 'middle',formatter: dateFormat},
            {title: '金额', field: 'amountMoney', align: 'left', valign: 'middle'},
            {title: '税法直通车卡号', field: 'trainNumber', align: 'left', valign: 'middle'},
            {title: '手机号', field: 'phone', align: 'left', valign: 'middle'},
            {title: '会员卡兑换状态', field: 'cardStatus', align: 'left', valign: 'middle'},
            {title: '所属合同', field: 'contractNumber', align: 'left', valign: 'middle'},
            {title: '所属订单', field: 'orderNumber', align: 'left', valign: 'middle'},
            {title: '所属业务员', field: 'salesman', align: 'left', valign: 'middle'},
            {title: '创建时间', field: 'createTm', align: 'left', valign: 'middle',formatter: dateFormat},
            {title: '会员卡', field: 'membershipCard', align: 'left', valign: 'middle'},
            {title: '更新时间', field: 'updateTm', align: 'left', valign: 'middle',formatter: dateFormat},
            {title: '数据类型', field: 'dataType', align: 'left', valign: 'middle',formatter: dataTypeFormat},
            {title: '所属分公司', field: 'companyName', align: 'left', valign: 'middle'}
            /!*{title: '操作', field: 'operate', align: 'left',events: operateEvents, formatter: genderOpt}*!/
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}*/
function dataInfoInit() {
    //var $table = $('#memberCardTable');
    $dataInfo.bootstrapTable('destroy');
    $dataInfo.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/sendCode/customerProductDetailMemberCardList',
        // data: {},
        method: 'post',                                     // 请求方式
        contentType: 'application/x-www-form-urlencoded',   // 请求内容类型
        dataType: 'json',                                   // 数据类型
        striped: true,                                      // 是否显示行间隔色
        sortable: true,                                     // 是否启用排序
        sortOrder: 'desc',                                  // 排序方式
        sortName: 'createTm',                               // 排序字段
        cache: false,                                       // 是否使用缓存
        showColumns: false,                                 // 显示隐藏列
        showRefresh: false,                                 // 显示刷新按钮
        showToggle: false,                                  // 切换显示样式
        showFooter: false,                                  // 显示Table脚部
        pagination: true,                                   // 是否显示分页
        showPaginationSwitch: false,                        // 是否显示分页按钮
        clickToSelect: true,                                // 是否启用点击选中行
        maintainSelected: true,                             // 分页是否保留选中
        singleSelect: false,
        undefinedText: '-',                                 // cell没有值时显示
        sidePagination: "server",                           // 分页方式：client客户端分页，server服务端分页
        uniqueId: '',
        idField: '',
        pageNumber: 1,
        pageSize: globalPageSize,                           // 每页的记录行数
        pageList: globalPageList,                           // 可供选择的每页的行数

        //height: globalHeight,

        /*fixedColumns: true,     // 冻结列
        fixedNumber: 2,         // 左侧固定列
        fixedRightNumber: 2,    // 右侧固定列*/

        queryParams: function (params) {
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            params.sortName = params.sort;
            params.sortOrder = params.order;

            params.orderNumber = $('#orderNumber').val();   // 搜索条件

            return params
        },  // 查询参数
        columns: [
            {title: '主键', field: 'customerProductDetailMemberCardId', visible: false},
            {title: '序号', align: 'left', valign: 'middle', width: '50',
                formatter: function (value, row, index) {
                    return index + 1;
                }
            },
            {title: '产品编码', field: 'memberProductCode', align: 'left', valign: 'middle'},
            {title: '产品号', field: 'finishOrderProductNum', align: 'left', valign: 'middle'},
            {title: '订单编号', field: 'orderNumber', align: 'left', valign: 'middle'},
            {title: '合同编号', field: 'contractNumber', align: 'left', valign: 'middle'},
            {title: '客户名称', field: 'customerName', align: 'left', valign: 'middle',formatter: customerNameFormat},
            {title: '会员卡号', field: 'memberCardNumber', align: 'left', valign: 'middle'},
            {title: '会员卡密码', field: 'memberCardPassword', align: 'left', valign: 'middle'},
            {title: '卡种', field: 'memberCardName', align: 'left', valign: 'middle'},
            {title: '有效期起始日期', field: 'startTm', align: 'left', valign: 'middle'},
            {title: '有效期结束日期', field: 'endTm', align: 'left', valign: 'middle'},
            {title: '产品的金额', field: 'productPrice', align: 'left', valign: 'middle'},
            {title: '到款日期', field: 'orderCompleteTm', align: 'left', valign: 'middle'},
            {title: '发码时间', field: 'createTm', align: 'left', valign: 'middle'},
            {title: '操作', field: 'operate', align: 'right',events:operateEventsList, formatter: function genderOpt(value, row, index) {
                    let html = '';
                    html += '<button class="btn btn-default" id="detail" >详情</button>';
                    return html;
                }}

        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
        },
        onLoadError: function (status) {
            if (status == 403) {
                $.alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                $.alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}


/**
 * 点击商机标题跳转商机详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function customerNameFormat(value, row, index) {
    //return '<a style="color:blue;cursor:pointer;text-decoration:underline;" target="_blank"  onclick=\'opportunityDetail(\"'+row.opportunityId+'")\'>'+value+'</a>';
    if(value == null) {
        return '<span href="JavaScript:void(0);">-</span>';
    }else{
        return '<a href="JavaScript:void(0);" onclick=\'customerDetail(\"'+row.customerId+'")\'>'+value+'</a>';
    }
}

function  customerDetail(customerId) {
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '客户详情',
        url: "/front/csd/customerManager/customerDetail?customerId=" + customerId
    }, true);
}


window.operateEvents = {
    //查看点击事件
    'click #detail': function (e, value, row, index) {
        if (row.customerType == 1) {//个人客户
            contactNameDetail(row.customerName, row.contactPersonPhone, row.customerId);
        } else {
            parent.$(parent.document).data('multitabs').create({
                iframe: true,
                title: '客户详情',
                url: "/front/csd/customerManager/customerDetail?customerId=" + row.customerId
            }, true);
        }
    }
};

window.operateEventsList = {
    //查看点击事件
    'click #detail': function (e, value, row, index) {
        parent.$(parent.document).data('multitabs').create({
            iframe: true,
            title: '会员卡详情',
            url: "/front/csd/customerManager/customerCardDetail?customerProductDetailMemberCardId=" + row.customerProductDetailMemberCardId + "&memberCardNumber=" + row.memberCardNumber
        }, true);
    }
};

/**
 * --列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}

/**
 * 加载全部公司信息(全国公有池分配--公司下拉)
 */
function loadAllCompanyList() {
    $.post("/memberShipCard/getCompanyList", function (data) {
        if (data.code == '000000') {
            var companyOptionHtml = '';
            data.data.map(function (item) {
                companyOptionHtml += '<option value="' + item.companyName + '">' + item.companyName + '</option>';
            });
            $("#companyName").html(companyOptionHtml);
            $("#companyName").selectpicker()
        }
    });
}

/**
 * 拼接客户表格查询条件参数
 */
function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    return params;
}

function queryParamsMin(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式

    params.orderNumber = $.trim($('#orderNumber').val());  //客户名称
    return params;
}

/**
 * 会员卡列表--高级搜索查询条件参数
 */
function advancedQueryParams(params){
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式


    //清空普通搜索条件(搜索客户)
    $('#orderNumber').val('');//客户名称

    //卡号
    params.number = $.trim($('#number').val());

    //订单编号
    params.orderNumber = $('#orderNumberMin').val();

    //合同编号
    params.contractNumber = $.trim($('#contractNumber').val());

    //卡种
    params.memberCardName = $('#memberCardNameSelect').val();

    return params;
}


/**
 * 类型
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function dataTypeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>新数据</span>";
    } else if (1 == value) {
        return "<span class='label label-yellow-light'>老数据</span>";
    }
}

/**
 * 时间转换
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function dateFormat(value, row, index) {
    if (value != null) {
        var date = new Date(value);
        var month = date.getMonth()+1;
        var tian = date.getDate();
        if (month >= 1 && month <= 9) {
            month = "0" + month;
        }
        if (tian >= 1 && tian <= 9) {
            tian = "0" + tian;
        }

        return date.getFullYear() + '-' + month + '-' + tian;
    }
}

function searchMyCustomerPool(type){
    $('.all').addClass('active-second');
    $('.week').removeClass('active-second');
    $('.month').removeClass('active-second');
    $("#dateType").val("all");
    if (type == 1) {
        $dataInfo.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParamsMin});
    } else if(type == 2){
        $dataInfo.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: advancedQueryParams});
    }else {
        $dataInfo.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParams});
    }

}

function promptInfo(content) {
    $.alert({
        title: '温馨提示',
        content: content,
        buttons: {
            confirm: {
                text: '确认',
                btnClass: 'btn-primary'
            }
        }
    });
}

function resetSearch(_this){
    let searchForm = '';
    if($(_this).parents('#filterContent').context == document) {
        searchForm = $(_this);
    } else {
        searchForm = $(_this).parents('#filterContent');
    }
    searchForm.find('input[type="text"]').val('');
    searchForm.find('select').find('option:first').prop('selected', 'selected');
    searchForm.find('select').selectpicker('refresh');
    if($(_this).parents('#filterContent').context !== document) {
        dataInfoInit();
    }
}

/**
 * 会员卡列表--高级筛选(【卡种】下拉)
 */
function loadMemberCardName(){
    $.post("/customerMemberProduct/selectMemberCardNameByProductStatus", function (data) {
        if (data.code == '000000') {
            $("#memberCardNameSelect").empty();
            var memberCardNameOptionHtml = '';
            var memberCardNameOptionHtml = '<option value="">全部</option>';
            data.data.map(function (item) {
                memberCardNameOptionHtml += '<option value="' + item + '">' + item + '</option>';
            });
            $("#memberCardNameSelect").html(memberCardNameOptionHtml);
            $("#memberCardNameSelect").selectpicker('refresh');
       }else{
            $("#memberCardNameSelect").empty();
            $("#memberCardNameSelect").attr("title","暂无数据");
            $("#memberCardNameSelect").selectpicker('refresh');
        }
    });
}



